/* 类型保护 */
// 在 TypeScript 中，检查 typeof 返回的值就是一种类型保护
// TypeScript 会让我们知道 strs 被收窄为 strings[] | null ，而不仅仅是 string[]
function printAll(strs: string | string[] | null) {
  if (typeof strs === "object") {
    for (const s of strs) {
		  // Object is possibly 'null'.
      console.log(s);
    }
  } else if (typeof strs === "string") {
    console.log(strs);
  } else {
    // do nothing
  }
}